package com.nineclock.system.service;

import com.nineclock.system.dto.SysAllowedJoinCompanyUserDTO;
import com.nineclock.system.dto.SysApplyJoinCompanyUserDTO;
import com.nineclock.system.dto.SysChangeMainManagerDTO;
import com.nineclock.system.dto.SysCompanyDTO;

import java.util.List;

public interface SysCompanyService {

    /**
     * 根据用户ID查询企业列表
     * @param userId
     * @return
     */
    public List<SysCompanyDTO> queryCompanyByUserId(Long userId);

    /**
     * 获取当前登录用户关联的企业信息
     * @return
     */
    public SysCompanyDTO queryCompany();

    /**
     * 更新当前企业信息
     * @param companyDTO
     */
    public void updateCompany(SysCompanyDTO companyDTO);

    /**
     * 更改企业的主管理员
     * @param managerDTO
     */
    public void changeAdmin(SysChangeMainManagerDTO managerDTO);

    /**
     * 根据关键字查询企业列表
     * @param keyword
     * @return
     */
    public List<SysCompanyDTO> queryByKeyword(String keyword);

    /**
     * 申请加入企业
     * @param companyUserDTO
     */
    public void applyJoinCompany(SysApplyJoinCompanyUserDTO companyUserDTO);

    /**
     * 审核加入企业
     * @param allowedDto
     */
    public void allowedJoinCompany(SysAllowedJoinCompanyUserDTO allowedDto);
}
